package com.xique.community.bean.domain;

import java.util.Date;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.xique.common.core.annotation.Excel;
import com.xique.common.core.web.domain.BaseEntity;

/**
 * 门禁用户信息对象 t_user
 * 
 * @author caogq
 * @date 2021-09-18
 */
@Data
@TableName(value = "t_user")
public class User
{
    private static final long serialVersionUID = 1L;

    /** 自动增量 */
    @TableId(value = "id",type = IdType.AUTO)//指定自增策略
    private Long id;

    /** 项目ID */
    @Excel(name = "项目ID" ,type = Excel.Type.EXPORT)
    private Long parkId;

    /** 人脸识别机生成的id，建议使用身份证号 */
    @Excel(name = "人脸识别机生成的id")
    private String customId;

    @Excel(name = "身份证号")
    private String idCard;

    /** 用户姓名 */
    @Excel(name = "用户姓名(必填)")
    private String userName;

    /** 0: 白名单 1: 黑名单 */
    @Excel(name = "白名单", readConverterExp = "0=白名单,1=黑名单",combo = {"白名单","黑名单"})
    private Integer personType;

    /** 性别（0男 1女 2未知） */
    @Excel(name = "性别", readConverterExp = "0=男,1=女,2=未知",combo = {"男","女","未知"})
    private String gender;

    /** 密码 */
    @Excel(name = "密码")
    private String password;

    /** 电话 */
    @Excel(name = "电话(必填)")
    private String phone;

    /** 访客类型 */
    @Excel(name = "用户类型",readConverterExp = "0=永久名单,1=临时名单1,2=临时名单2,3=临时名单3",combo = {"永久名单","临时名单1","临时名单2","临时名单3"})
    private String visitorType;

    /** 地址 */
    @Excel(name = "地址")
    private String address;

    /** 人脸URL */
    @Excel(name = "人脸图片地址")
    private String faceUrl;

    /** 人脸key */
    @Excel(name = "人脸key")
    private String faceKey;

    /** 状态 0禁用, 1启用 */
    @Excel(name = "状态", readConverterExp = "0=禁用,1=启用",combo = {"禁用","启用"})
    private String status;

    /** 用户信息过期时间 */
    @Excel(name = "用户信息过期时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date exTime;

    /** 创建人 */
    @ApiModelProperty("创建人")
    private Long createUser;

    /** 更新人 */
    @ApiModelProperty("更新人")
    private Long updateUser;

    /** 删除标志 */
    @ApiModelProperty("删除标志")
    private Integer delFlag;

    /** 允许邀请的访客车辆类型：1.不允许，2收费访客，3免费访客，用,分隔 */
    @Excel(name = "允许邀请访客车类型",readConverterExp = "1=不允许,2=收费访客,3=免费访客",combo = {"不允许","收费访客","免费访客"})
    private String visitorCarType;

    /** 微信openid */
    private String wechatOpenid;

    /**
     * 身份类型  字典名称 identity_type
     */
    @Excel(name = "身份类型",readConverterExp = "0=业主,1=租客,2=家属",combo = {"业主","租客","家属"})
    private String identityType;
    /**
     * 入住日期
     */
    private Date checkInDate;
    /**
     * 居住方式 字典名称 live_way
     */
    private String liveWay;
    /**
     * 生日
     */
    private Date birthday;
    /**
     * 房屋编号
     */
    private String houseId;
    /**
     * 房屋名称
     */
    private String houseName;
    /**
     * 楼栋编号
     */
    private String buildingId;
    /**
     * 楼栋名称
     */
    private String buildingName;

    private Date dueDate;

    private String relation;
}
